npm install과 npm ci
❓질문
npm install과 npm ci의 차이점에 대해 설명해주세요.
💡 조사하기전 내가 알고 있던 내용
npm i의 경우 패키지.json 파일에 명시 돼있는 의존성 목록에 적혀있는 버전을 다운할때 17.2.x 버젼이라면 x의 최신버전을 보통 다운 받습니다 즉 버전의 범위가 크게는 안달라지지만 A 개발자와 B 개발자의 세부 버전은 달라질 수 있다는것입니다. 그러나 ci(clean install)의 경우는 이 버전을 정확히 맞추게 됩니다.
두번째로는 ci의 경우 node_module 폴더를 삭제하고 새로 다운받게됩니다 이 과정은 npm install 과정보다는 길어질 수 있으나 이전 설치되어있던 의존성간의 충돌을 방지할 수 있습니다
보통 이런 엄격한 npm ci의 경우는 CI/CD 과정에서 주로 사용합니다. 이유는 두번째의 이유때문에 그렇습니다 큰 버젼에서 달라지는것이아니라 세부 버젼만 달라지기 때문에 긴 시간을 들여 매번 새로 다운로그할 이유는 없기 때문입니다.
🏫 정리한 내용
추가적으로 npm install은 package.json 파일을 변경할 경우가 있다. 그러나 npm ci 는 그러한 경우가 없다고 한다.